//package com.ctrip.frame;
//
//import com.rfca.vo.ServerConfig;
//
//import javax.swing.*;
//import java.awt.*;
//import java.awt.event.ActionEvent;
//import java.awt.event.ActionListener;
//import java.text.ParseException;
//
//public class ConfigDialog extends JDialog {
//    JLabel lblHost, lbelPort;
//    JButton btnOk, btnCancel;
//    JTextField fieldHost;
//    JFormattedTextField fieldPort;
//    JPanel panelBtn;
//
//    public ConfigDialog(Frame owner, String title, boolean modal) {
//        super(owner, title, modal);
//        initGUI();
//    }
//
//    void initGUI() {
//        GridBagLayout layout = new GridBagLayout();
//        setLayout(layout);
//
//        lblHost = new JLabel("主机：");
//        lblHost.setFont(new Font(Theme.fontFamily, Font.BOLD, Theme.fontSize));
//
//        lbelPort = new JLabel("端口：");
//        lbelPort.setFont(new Font(Theme.fontFamily, Font.BOLD, Theme.fontSize));
//
//        panelBtn = new JPanel();
//
//        btnOk = new JButton("确定");
//        btnCancel = new JButton("取消");
//
//        fieldHost = new JTextField(15);
//        fieldHost.setFont(new Font(Theme.fontFamily, Font.BOLD, Theme.fontSize));
////        fieldHost.setSize(200,50);
////        MaskFormatter formatter=null;
////        try {
////            formatter = new MaskFormatter("#0");
////        } catch (ParseException e) {
////            e.printStackTrace();
////        }
//        fieldPort = new JFormattedTextField(new java.text.DecimalFormat("#0"));
////        fieldPort = new JFormattedTextField(NumberFormat.getIntegerInstance());
//        fieldPort.setFont(new Font("宋体", 0, 12)); // NOI18N
////        fieldPort.setMaximumSize(new java.awt.Dimension(50, 21));
////        fieldPort.setMinimumSize(new java.awt.Dimension(100, 21));
////        fieldPort.setPreferredSize(new java.awt.Dimension(50, 21));
//        fieldPort.setInputVerifier(new InputVerifier() {
//            public boolean verify(JComponent component) {
////                JFormattedTextField field = (JFormattedTextField) component;
//                String str = fieldPort.getText();
//                JFormattedTextField.AbstractFormatter formatter = fieldPort.getFormatter();
//                if (str.length() > 0) {
//                    if (formatter != null) {
//                        try {
//                            long value = (Long) formatter.stringToValue(str);
//                            fieldPort.setText(value + "");
//                            if (fieldPort.isEditValid() && value > 0 && value <= 65535) {
//                                return true;
//                            }
//                        } catch (ParseException pe) {
//                            fieldPort.setText("1");//解析异常直接将文本框中值设置为1
//                        }
//                    }
//                }
//                JOptionPane.showMessageDialog(ConfigDialog.this, "请输入正确的配置！", "输入错误", JOptionPane.ERROR_MESSAGE);
//                //若用户的输入符合格式，则返回true，否则返回false
//                return false;
//            }
//        });
////        fieldPort.addKeyListener(new java.awt.event.KeyAdapter() {
////            public void keyReleased(java.awt.event.KeyEvent evt) {
////                String str = fieldPort.getText();
////                JFormattedTextField.AbstractFormatter formatter = fieldPort.getFormatter();
////                if (str.length()>0) {
////                    if (formatter != null) {
////                        try {
////                            long value = (Long) formatter.stringToValue(str);
////                            fieldPort.setText(value + "");
////                        } catch (ParseException pe) {
////                            fieldPort.setText("1");//解析异常直接将文本框中值设置为1
////                        }
////                    }
////                }
////            }
////        });
////        fieldPassword.setSize(200,50);
//        fieldPort.setFont(new Font(Theme.fontFamily, Font.BOLD, Theme.fontSize));
//
//        btnOk.addActionListener(new ActionListener() {
//            public void actionPerformed(ActionEvent e) {
//                String host = fieldHost.getText();
//                String port = fieldPort.getText();
//                if (host.length() > 4 && port.length() > 1) {
//                    ServerConfig.writeServerConfig(host, Integer.parseInt(port));
//                    ConfigDialog.this.setVisible(false);
//                }
//            }
//        });
//
//        btnCancel.addActionListener(new ActionListener() {
//            @Override
//            public void actionPerformed(ActionEvent e) {
//                ConfigDialog.this.setVisible(false);
//            }
//        });
//        panelBtn.add(btnOk);
//        panelBtn.add(btnCancel);
//
//        Image image = this.getToolkit().getImage(getClass().getClassLoader().getResource("images/logo.png"));
//        this.setIconImage(image);
//        //设置布局管理器
////        setLayout(new GridLayout(3, 1));
//        Container container = this.getContentPane();
//        container.add(lblHost, new GBC(0, 0, 1, 1)
//                .setIpad(0, 50)
//                .setWeight(0, 0)
//                .setAnchor(GBC.EAST)
//                .setFill(GBC.BOTH)
//                .setInsets(5, 5, 5, 5));
//        container.add(fieldHost, new GBC(1, 0, 2, 1)
//                .setIpad(50, 50).setWeight(0, 0).setAnchor(GBC.WEST).setFill(GBC.BOTH).setInsets(5, 5, 5, 5));
//        container.add(lbelPort, new GBC(0, 1, 1, 1)
//                .setIpad(0, 50).setWeight(0, 0).setAnchor(GBC.EAST).setFill(GBC.VERTICAL).setInsets(5, 5, 5, 5));
//        container.add(fieldPort, new GBC(1, 1, 2, 1)
//                .setIpad(50, 50).setWeight(0, 0).setAnchor(GBC.WEST).setFill(GBC.BOTH).setInsets(5, 5, 5, 5));
//        container.add(panelBtn, new GBC(1, 2, 2, 1)
//                .setIpad(50, 50).setWeight(0, 0).setAnchor(GBC.WEST).setFill(GBC.VERTICAL).setInsets(5, 5, 5, 5));
//        //加入组件
//        //设置窗体
//        setSize(300, 150);
////        setOpacity(0.8f);
////        setLocation(500,500);
//        setResizable(false);
//
//        setLocationRelativeTo(null);
////        pack();
//        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//    }
//
//}
